package com.whfc.base.redis;


import com.whfc.base.dto.AlarmCacheDTO;

/**
 * @author sun_guodong
 * @description 报警频率记录
 * @date 2019-12-06
 */
public interface AlarmRecordRedisDao {

    /**
     * 设置单个设备某种报警类型报警频率记录
     *
     * @param moduleType
     * @param ruleType
     * @param objectId
     * @param value
     */
    void setAlarmRecord(Integer moduleType, Integer ruleType, String objectId, AlarmCacheDTO value);

    /**
     * 获取报警评论记录
     *
     * @param moduleType
     * @param ruleType
     * @param objectId
     * @return
     */
    AlarmCacheDTO getAlarmRecord(Integer moduleType, Integer ruleType, String objectId);

    /**
     * 设置单个设备报警频率记录
     *
     * @param moduleType
     * @param objectId
     * @param value
     */
    void setAlarmRecord(Integer moduleType, String objectId, AlarmCacheDTO value);

    /**
     * 获取单个设备报警频率记录
     *
     * @param moduleType
     * @param objectId
     * @return
     */
    AlarmCacheDTO getAlarmRecord(Integer moduleType, String objectId);

    /**
     * 设置报警总数
     *
     * @param moduleType
     * @param deptId
     * @param value
     */
    void setAlarmRecord(Integer moduleType, Integer deptId, AlarmCacheDTO value);

    /**
     * 获取报警总数
     *
     * @param moduleType
     * @param deptId
     * @return
     */
    AlarmCacheDTO getAlarmRecord(Integer moduleType, Integer deptId);

    /**
     * 设置单个报警类型报警总数
     *
     * @param moduleType
     * @param deptId
     * @param ruleType
     * @param value
     */
    void setAlarmRecord(Integer moduleType, Integer deptId, Integer ruleType, AlarmCacheDTO value);

    /**
     * 获取单个报警类型报警总数
     *
     * @param moduleType
     * @param deptId
     * @param ruleType
     */
    AlarmCacheDTO getAlarmRecord(Integer moduleType, Integer deptId, Integer ruleType);

    /**
     * 删除报警频率记录
     *
     * @param moduleType
     * @param ruleType
     * @param objectId
     */
    void delAlarmRecord(Integer moduleType, Integer ruleType, String objectId);
}
